#ifndef POSIX_TIME_H_
#define POSIX_TIME_H_

/*包含头文件*/
#include <stdio.h>
#include <time.h>
#include <signal.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include "../../Global_Define.h"
#include "../Pthread/Pthread_Set.h"					//< 线程处理函数头文件
#include "../Sem/Sem_Deal.h"
#include "../../SYS_Func/RecvDCSBC/RecvDCSBC.h"


/*函数*/
void TimeSig_Deal(int sign, siginfo_t* info, void*);						//< 定时器超时后中断处理函数
bool Timer_Create(timer_t* timer_name, int label, struct timespec* time);	//< 创建定时器函数
void MS2TimeSpec(struct timespec* ts, int ms);								//< 将MS时间转化为Linux内部时间变量TimeSpec
void MS2Timeval(struct timeval* ts, int ms);								//< 将MS时间转化为Linux内部时间变量Timeval
struct timespec RealTime_Get();												//< 系统当前时间获取
bool RealTime_Set(struct timespec ts);										//< 设置系统时间
int Dt_Calu(struct timespec ts1, struct timespec ts2);						//< 时间差获取（单位：ms）
void RoughDelay_S(int second);												//< 延时固定秒数（粗糙）
void ExactDelay(int millisecond);											//< 延时固定毫秒数（精细）


#endif
